<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>jquery事件处理</title>
    <script src="jquery.min.js"></script>
    <style>
        div{
            width: 100px;
            height: 100px;
            background: pink;
        }
        .current{
            background: green;
        }
    </style>
</head>
<body>
    <div>
        
    </div>

    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>

    <script>
    
        $(function(){
            // <!--1  事件处理:on  注册多个事件-->
            // $('div').on({
            //     mouseenter: function(){
            //         $(this).css('background',"blue");
            //     },
            //     mouseleave: function(){
            //         $(this).css('background',"red");
            //     },
            //     click: function(){
            //         $(this).css('background',"purple");                    
            //     },
            // });
            // 2  如果事件处理的是相同操作，可以如下，表示鼠标进入和鼠标离开都会触发函数
            $("div").on("mouseenter mouseleave",function(){
                $(this).toggleClass("current");//切换增加或者删除类名的操作
            });
            // 3  事件委派：将原本绑定在子元素上的事件绑定到父元素上  $("ul").on('click','li',function(){})  事件绑定在父元素ul上，但触发事件的对象是ul下的子元素li
            // on  【可以给未来创建的元素绑定事件】 比如我先绑定ul元素，由li触发函数，后创建新的li元素，点击新的li元素仍然可以触发函数。即说明给未来创建的元素也绑定了事件
            $("ul").on('click','li',function(){
                alert('略略略略略');
            });
            $("ul").append($("<li>我是新创建的</li>"));



            // 解绑事件：off() 接触on绑定事件
            $('ul').off("click",'li');//解绑委托事件
            $('div').off();//接触div的所有on绑定事件

            // one() 只能触发一次的事件
            $('div').one('click',function(){});

            // 自动触发事件  trigger()  比如轮播图自动播放，音乐自动播放，视频自动播放等
            //1  element.事件()   2 element.trigger("事件")   3 element.triggerHandeler("事件")-----不会触发元素的默认行为，比如光标闪烁行为不会被触发

            // jquery事件对象：element.on(events,[selector],function(event) {})   
            // 阻止默认行为：event.preventDefault()  或者return false
            // 阻止冒泡：event.stopPropagation()
        })
    </script>
    
</body>
</html>